summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java')
-rw-r--r--src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java161
1 files changed, 0 insertions, 161 deletions
diff --git a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java b/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java
deleted file mode 100644
index a36bf427c..000000000
--- a/src/android/app/src/main/java/org/citra/citra_emu/features/cheats/ui/CheatsActivity.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.citra.citra_emu.features.cheats.ui;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.core.view.ViewCompat;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.slidingpanelayout.widget.SlidingPaneLayout;
-
-import org.citra.citra_emu.R;
-import org.citra.citra_emu.features.cheats.model.Cheat;
-import org.citra.citra_emu.features.cheats.model.CheatsViewModel;
-import org.citra.citra_emu.ui.TwoPaneOnBackPressedCallback;
-
-public class CheatsActivity extends AppCompatActivity
- implements SlidingPaneLayout.PanelSlideListener {
- private CheatsViewModel mViewModel;
-
- private SlidingPaneLayout mSlidingPaneLayout;
- private View mCheatList;
- private View mCheatDetails;
-
- private View mCheatListLastFocus;
- private View mCheatDetailsLastFocus;
-
- public static void launch(Context context) {
- Intent intent = new Intent(context, CheatsActivity.class);
- context.startActivity(intent);
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- mViewModel = new ViewModelProvider(this).get(CheatsViewModel.class);
- mViewModel.load();
-
- setContentView(R.layout.activity_cheats);
-
- mSlidingPaneLayout = findViewById(R.id.sliding_pane_layout);
- mCheatList = findViewById(R.id.cheat_list);
- mCheatDetails = findViewById(R.id.cheat_details);
-
- mCheatListLastFocus = mCheatList;
- mCheatDetailsLastFocus = mCheatDetails;
-
- mSlidingPaneLayout.addPanelSlideListener(this);
-
- getOnBackPressedDispatcher().addCallback(this,
- new TwoPaneOnBackPressedCallback(mSlidingPaneLayout));
-
- mViewModel.getSelectedCheat().observe(this, this::onSelectedCheatChanged);
- mViewModel.getIsEditing().observe(this, this::onIsEditingChanged);
- onSelectedCheatChanged(mViewModel.getSelectedCheat().getValue());
-
- mViewModel.getOpenDetailsViewEvent().observe(this, this::openDetailsView);
-
- // Show "Up" button in the action bar for navigation
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_settings, menu);
-
- return true;
- }
-
- @Override
- protected void onStop() {
- super.onStop();
-
- mViewModel.saveIfNeeded();
- }
-
- @Override
- public void onPanelSlide(@NonNull View panel, float slideOffset) {
- }
-
- @Override
- public void onPanelOpened(@NonNull View panel) {
- boolean rtl = ViewCompat.getLayoutDirection(panel) == ViewCompat.LAYOUT_DIRECTION_RTL;
- mCheatDetailsLastFocus.requestFocus(rtl ? View.FOCUS_LEFT : View.FOCUS_RIGHT);
- }
-
- @Override
- public void onPanelClosed(@NonNull View panel) {
- boolean rtl = ViewCompat.getLayoutDirection(panel) == ViewCompat.LAYOUT_DIRECTION_RTL;
- mCheatListLastFocus.requestFocus(rtl ? View.FOCUS_RIGHT : View.FOCUS_LEFT);
- }
-
- private void onIsEditingChanged(boolean isEditing) {
- if (isEditing) {
- mSlidingPaneLayout.setLockMode(SlidingPaneLayout.LOCK_MODE_UNLOCKED);
- }
- }
-
- private void onSelectedCheatChanged(Cheat selectedCheat) {
- boolean cheatSelected = selectedCheat != null || mViewModel.getIsEditing().getValue();
-
- if (!cheatSelected && mSlidingPaneLayout.isOpen()) {
- mSlidingPaneLayout.close();
- }
-
- mSlidingPaneLayout.setLockMode(cheatSelected ?
- SlidingPaneLayout.LOCK_MODE_UNLOCKED : SlidingPaneLayout.LOCK_MODE_LOCKED_CLOSED);
- }
-
- public void onListViewFocusChange(boolean hasFocus) {
- if (hasFocus) {
- mCheatListLastFocus = mCheatList.findFocus();
- if (mCheatListLastFocus == null)
- throw new NullPointerException();
-
- mSlidingPaneLayout.close();
- }
- }
-
- public void onDetailsViewFocusChange(boolean hasFocus) {
- if (hasFocus) {
- mCheatDetailsLastFocus = mCheatDetails.findFocus();
- if (mCheatDetailsLastFocus == null)
- throw new NullPointerException();
-
- mSlidingPaneLayout.open();
- }
- }
-
- @Override
- public boolean onSupportNavigateUp() {
- onBackPressed();
- return true;
- }
-
- private void openDetailsView(boolean open) {
- if (open) {
- mSlidingPaneLayout.open();
- }
- }
-
- public static void setOnFocusChangeListenerRecursively(@NonNull View view,
- View.OnFocusChangeListener listener) {
- view.setOnFocusChangeListener(listener);
-
- if (view instanceof ViewGroup) {
- ViewGroup viewGroup = (ViewGroup) view;
- for (int i = 0; i < viewGroup.getChildCount(); i++) {
- View child = viewGroup.getChildAt(i);
- setOnFocusChangeListenerRecursively(child, listener);
- }
- }
- }
-}